iT邦幫忙

2023 iThome 鐵人賽

DAY 18
0
自我挑戰組

那些有趣的程式系列 第 22

【Day22】從零開始的程式大亂鬥:JavaScript-await and async

  • 分享至 

  • xImage
  •  

今天要介紹的 awaitasync 同樣是用來處理 JavaScript 中的非同步操作。

什麼是 awaitasync

這兩者就是簡化過後的 Promise ,使用上的差別如下:

  • await :等待函式完成(等待一個 Promise 完成並回傳)
  • async :定義非同步操作

Example:

async function fetchData() {
    return new Promise(function(resolve, reject) {
        setTimeout(function() {
            const success = true;
            if(success) {
                resolve('Data fetched!');
            }
            else {
                reject('Error fetching data');
            }
        });
    });
}

async function getData() {
    try {
        const result = await fetchData();
        console.log(result);
    }
    catch(error) {
        console.error(error);
    }
}

getData();

successtrue 的輸出結果:

Data fetched!

successfalse 的輸出結果:

Error fetching data.

上一篇
【Day21】從零開始的程式大亂鬥:JavaScript-Promise
下一篇
【Day23】從零開始的程式大亂鬥:JavaScript-JSON
系列文
那些有趣的程式35
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言